// ==========================================================================
// GFast自动生成model操作代码。
// 生成日期：2024-11-11 17:42:22
// 生成路径: internal/app/system/model/schools.go
// 生成人：王中阳
// desc:学校
// company:云南奇讯科技有限公司
// ==========================================================================

package model

import (
	"github.com/gogf/gf/v2/os/gtime"
	"github.com/gogf/gf/v2/util/gmeta"
	comModel "github.com/tiger1103/gfast/v3/internal/app/common/model"
)

// SchoolsInfoRes is the golang structure for table schools.
type SchoolsInfoRes struct {
	gmeta.Meta `orm:"table:schools"`
	Id         int         `orm:"id,primary" json:"id" dc:""`             //
	Province   string      `orm:"province" json:"province" dc:"省份"`       // 省份
	City       string      `orm:"city" json:"city" dc:"城市"`               // 城市
	Department string      `orm:"department" json:"department" dc:"所属部门"` // 所属部门
	Level      string      `orm:"level" json:"level" dc:"等级"`             // 等级
	Schoolname string      `orm:"schoolname" json:"schoolname" dc:"学校名称"` // 学校名称
	Type       string      `orm:"type" json:"type" dc:"类型"`               // 类型
	Code       int         `orm:"code" json:"code" dc:"编码"`               // 编码
	Show       int         `orm:"show" json:"show" dc:"是否显示 1是 0否"`       // 是否显示 1是 0否
	Lat        string      `orm:"lat" json:"lat" dc:"经度"`                 // 经度
	Lng        string      `orm:"lng" json:"lng" dc:"纬度"`                 // 纬度
	CreatedAt  *gtime.Time `orm:"created_at" json:"createdAt" dc:""`      //
}

type SchoolsListRes struct {
	Id         int         `json:"id" dc:""`
	Province   string      `json:"province" dc:"省份"`
	City       string      `json:"city" dc:"城市"`
	Department string      `json:"department" dc:"所属部门"`
	Level      string      `json:"level" dc:"等级"`
	Schoolname string      `json:"schoolname" dc:"学校名称"`
	Type       string      `json:"type" dc:"类型"`
	Code       int         `json:"code" dc:"编码"`
	Show       int         `json:"show" dc:"是否显示 1是 0否"`
	Lat        string      `json:"lat" dc:"经度"`
	Lng        string      `json:"lng" dc:"纬度"`
	CreatedAt  *gtime.Time `json:"createdAt" dc:""`
}

// SchoolsSearchReq 分页请求参数
type SchoolsSearchReq struct {
	comModel.PageReq
	Id         string `p:"id" dc:""`                                                       //
	Province   string `p:"province" dc:"省份"`                                               //省份
	City       string `p:"city" dc:"城市"`                                                   //城市
	Department string `p:"department" dc:"所属部门"`                                           //所属部门
	Level      string `p:"level" dc:"等级"`                                                  //等级
	Schoolname string `p:"schoolname" dc:"学校名称"`                                           //学校名称
	Type       string `p:"type" dc:"类型"`                                                   //类型
	Code       string `p:"code" v:"code@integer#编码需为整数" dc:"编码"`                           //编码
	Show       string `p:"show" v:"show@integer#是否显示 1是 0否需为整数" dc:"是否显示 1是 0否"`           //是否显示 1是 0否
	Lat        string `p:"lat" dc:"经度"`                                                    //经度
	Lng        string `p:"lng" dc:"纬度"`                                                    //纬度
	CreatedAt  string `p:"createdAt" v:"createdAt@datetime#需为YYYY-MM-DD hh:mm:ss格式" dc:""` //
}

// SchoolsSearchRes 列表返回结果
type SchoolsSearchRes struct {
	comModel.ListRes
	List []*SchoolsListRes `json:"list"`
}

// SchoolsAddReq 添加操作请求参数
type SchoolsAddReq struct {
	Province   string `p:"province"  dc:"省份"`
	City       string `p:"city"  dc:"城市"`
	Department string `p:"department"  dc:"所属部门"`
	Level      string `p:"level"  dc:"等级"`
	Schoolname string `p:"schoolname" v:"required#学校名称不能为空" dc:"学校名称"`
	Type       string `p:"type"  dc:"类型"`
	Code       int    `p:"code"  dc:"编码"`
	Show       int    `p:"show"  dc:"是否显示 1是 0否"`
	Lat        string `p:"lat"  dc:"经度"`
	Lng        string `p:"lng"  dc:"纬度"`
}

// SchoolsEditReq 修改操作请求参数
type SchoolsEditReq struct {
	Id         int    `p:"id" v:"required#主键ID不能为空" dc:""`
	Province   string `p:"province"  dc:"省份"`
	City       string `p:"city"  dc:"城市"`
	Department string `p:"department"  dc:"所属部门"`
	Level      string `p:"level"  dc:"等级"`
	Schoolname string `p:"schoolname" v:"required#学校名称不能为空" dc:"学校名称"`
	Type       string `p:"type"  dc:"类型"`
	Code       int    `p:"code"  dc:"编码"`
	Show       int    `p:"show"  dc:"是否显示 1是 0否"`
	Lat        string `p:"lat"  dc:"经度"`
	Lng        string `p:"lng"  dc:"纬度"`
}
